<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Clear Both</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .left {
            width: 100px;
            height: 100px;
            background: red;
            float: left;
        }
        .right {
            width: 100px;
            height: 200px;
            background: red;
            float: right;
        }
        p{
            clear: both;
        }
        /* .clearfix::after {
            content: '';
            display: block;
            width: 100%;
            clear: both;
            visibility: hidden;
            height: 0;
        } */
        .clearfix {
            overflow: hidden;
        }
    </style>
</head>
<body>
    <div class="wrap clearfix">
        <div class="left"></div>
        <div class="right"></div>
        <!-- <p>
          一、清除浮动的原理
          没错，clear:both还真是清除浮动的关键，被我蒙对了。
          clear是CSS中的定位属性，规定元素的哪一侧不允许其他浮动元素。那么clear:both就是规定在左右两侧均不允许浮动元素。
          clear属性只能在块级元素上其作用，这就是清除浮动样式中display:block的作用。
          另外visibility: hidden;height: 0;只要content的值为空。写不写都无所谓。
          那么为什么要清除浮动，最常见的是因为外层容器高度坍塌，下面用一段代码演示一下。
        </p> -->
    </div>
</body>
</html>